// "use client";

// import { dashboardApi } from '@/constants';
// import { get } from '@/util/api';

// // 系统概览数据接口
// export interface SystemOverview {
//   totalUsers: number;
//   totalArticles: number;
//   totalComments: number;
//   totalLikes: number;
//   todayUsers: number;
//   todayArticles: number;
//   todayComments: number;
//   todayLikes: number;
//   onlineUsers: number;
// }

// // 流量统计数据接口
// export interface TrafficStats {
//   pageViews: Array<{
//     date: string;
//     count: number;
//   }>;
//   uniqueVisitors: Array<{
//     date: string;
//     count: number;
//   }>;
//   topPages: Array<{
//     path: string;
//     title?: string;
//     count: number;
//     uniqueCount: number;
//   }>;
//   userAgents: Array<{
//     type: string;
//     count: number;
//     percentage: number;
//   }>;
// }

// // 内容统计数据接口
// export interface ContentStats {
//   articleTrend: Array<{
//     month: string;
//     published: number;
//     pending: number;
//   }>;
//   categoryDistribution: Array<{
//     categoryId: number;
//     categoryName: string;
//     count: number;
//     percentage: number;
//   }>;
//   popularArticles: Array<{
//     id: number;
//     title: string;
//     viewCount: number;
//     commentCount: number;
//   }>;
// }

// // 用户活跃度数据接口
// export interface UserActivityStats {
//   activeUsers: Array<{
//     date: string;
//     count: number;
//   }>;
//   newRegistrations: Array<{
//     date: string;
//     count: number;
//   }>;
//   topUsers: Array<{
//     id: number;
//     username: string;
//     avatar?: string;
//     articleCount: number;
//     commentCount: number;
//   }>;
//   userRoles: Array<{
//     role: number;
//     roleName: string;
//     count: number;
//     percentage: number;
//   }>;
// }

// // 系统性能数据接口
// export interface SystemPerformance {
//   cpuUsage: number;
//   memoryUsage: number;
//   diskUsage: number;
//   uptime: string;
//   responseTime: number;
//   errorRate: number;
//   serverInfo: {
//     os: string;
//     nodeVersion: string;
//     database: string;
//     appVersion: string;
//   };
// }

// /**
//  * 仪表盘服务类
//  * 封装所有仪表盘相关的API调用
//  */
// class DashboardService {
//   /**
//    * 获取系统概览数据
//    * @returns Promise<SystemOverview>
//    */
//   async getSystemOverview(): Promise<SystemOverview> {
//     try {
//       const response = await get(dashboardApi.OVERVIEW);
//       return response.data || response;
//     } catch (error) {
//       console.error('获取系统概览数据失败:', error);
//       throw error;
//     }
//   }

//   /**
//    * 获取流量统计数据
//    * @param params 查询参数
//    * @returns Promise<TrafficStats>
//    */
//   async getTrafficStats(params?: {
//     startDate?: string;
//     endDate?: string;
//     period?: 'day' | 'week' | 'month' | 'year';
//   }): Promise<TrafficStats> {
//     try {
//       const response = await get(dashboardApi.TRAFFIC, params);
//       return response.data || response;
//     } catch (error) {
//       console.error('获取流量统计数据失败:', error);
//       throw error;
//     }
//   }

//   /**
//    * 获取内容统计数据
//    * @param params 查询参数
//    * @returns Promise<ContentStats>
//    */
//   async getContentStats(params?: {
//     startDate?: string;
//     endDate?: string;
//     limit?: number;
//   }): Promise<ContentStats> {
//     try {
//       const response = await get(dashboardApi.CONTENT, params);
//       return response.data || response;
//     } catch (error) {
//       console.error('获取内容统计数据失败:', error);
//       throw error;
//     }
//   }

//   /**
//    * 获取用户活跃度数据
//    * @param params 查询参数
//    * @returns Promise<UserActivityStats>
//    */
//   async getUserActivityStats(params?: {
//     startDate?: string;
//     endDate?: string;
//     limit?: number;
//   }): Promise<UserActivityStats> {
//     try {
//       const response = await get(dashboardApi.USER_ACTIVITY, params);
//       return response.data || response;
//     } catch (error) {
//       console.error('获取用户活跃度数据失败:', error);
//       throw error;
//     }
//   }

//   /**
//    * 获取系统性能数据
//    * @returns Promise<SystemPerformance>
//    */
//   async getSystemPerformance(): Promise<SystemPerformance> {
//     try {
//       const response = await get(dashboardApi.PERFORMANCE);
//       return response.data || response;
//     } catch (error) {
//       console.error('获取系统性能数据失败:', error);
//       throw error;
//     }
//   }

//   /**
//    * 获取最近操作日志
//    * @param params 查询参数
//    * @returns Promise<{ data: Array<any>; total: number }>
//    */
//   async getRecentLogs(params?: {
//     page?: number;
//     pageSize?: number;
//     type?: string;
//   }): Promise<{ data: Array<any>; total: number }> {
//     try {
//       const response = await get(dashboardApi.RECENT_LOGS, params);
//       return response.data || response;
//     } catch (error) {
//       console.error('获取最近操作日志失败:', error);
//       throw error;
//     }
//   }

//   /**
//    * 获取待处理任务
//    * @returns Promise<Array<{
//    *   id: number;
//    *   type: string;
//    *   title: string;
//    *   description?: string;
//    *   createdAt: string;
//    *   priority: number;
//    * }>>
//    */
//   async getPendingTasks(): Promise<Array<{
//     id: number;
//     type: string;
//     title: string;
//     description?: string;
//     createdAt: string;
//     priority: number;
//   }>> {
//     try {
//       const response = await get(dashboardApi.PENDING_TASKS);
//       return response.data || response;
//     } catch (error) {
//       console.error('获取待处理任务失败:', error);
//       throw error;
//     }
//   }

//   /**
//    * 刷新仪表盘数据
//    * @returns Promise<{ updatedAt: string; [key: string]: any }>
//    */
//   async refreshDashboardData(): Promise<{ updatedAt: string; [key: string]: any }> {
//     try {
//       const response = await get(dashboardApi.REFRESH);
//       return response.data || response;
//     } catch (error) {
//       console.error('刷新仪表盘数据失败:', error);
//       throw error;
//     }
//   }
// }

// // 导出仪表盘服务实例
// export const dashboardService = new DashboardService();
// export default dashboardService;